$(document).ready(function(){
    // 删除按钮
    $(".delete_btn").on('click',function(){
        return confirm('确定删除？');
    });

    $(".checkbox_all").on('click',function(){
        if ($(this).prop("checked")) {
            $(this).parent().next('div').find('input[type="checkbox"]').prop("checked",true);
        }else{
            console.log($(this).parent().next('div').find('input[type="checkbox"]'))
            $(this).parent().next('div').find('input[type="checkbox"]').prop("checked",false);
        }
    });

    // 导出按钮
    // $('.export_btn').on('click',function(){
    //     var action = $(this).attr('data-action');
    //     if (action == null || action == '') {
    //         action = 'export';
    //     }
    //     $(this).parents('form').attr('action',action);
    //     $(this).parents('form').submit();

    //     var old_action = $(this).parents('form').attr('action');
    //     setTimeout(function(){
    //         $(this).parents('form').attr('action',old_action);
    //     },1000);
        
    //     cchUtil.message('导出中...');

    //     // var l = $('body').lyearloading({
    //     //     opacity: 0.5,
    //     //     spinnerSize: 'lg',
    //     //     spinnerText: '导出中...完成后手动刷新页面',
    //     //     textColorClass: 'text-info',
    //     //     spinnerColorClass: 'text-info'
    //     // });
    // });
    $('.export_btn').on('click',function(){
        var action = $(this).attr('data-action');
        if (action == null || action == '') {
            action = 'export';
        }
        var old_action = $(".search-form").attr('action');
        $(".search-form").attr('action',action);
        $(".search-form").submit();
        
        setTimeout(function(){
            $(".search-form").attr('action',old_action);
        },1000);
        
        cchUtil.message('导出中...');

        // var l = $('body').lyearloading({
        //     opacity: 0.5,
        //     spinnerSize: 'lg',
        //     spinnerText: '导出中...完成后手动刷新页面',
        //     textColorClass: 'text-info',
        //     spinnerColorClass: 'text-info'
        // });
    });

    // 批量删除
    $(".more_delete_btn").on('click',function(){
        var ids = [];
        $(".ids:checked").each(function(){
            ids.push($(this).val());
        });
        if (ids.length == 0) {
            alert('请勾选选项');
            return false;
        }
        if (!confirm('确定批量删除？')) {
            return false;
        }

        var url = $(this).data('url');
        url = url + '?ids='+ids.join(',');
        window.location.href = url;
    });

    // select2加载
    // $('.selectpicker').selectpicker();
    if ($(".js-select2").length > 0) {
        $(".js-select2").select2({width: '100%'});
    }

    if ($(".selectpicker").length > 0) {
        $('.selectpicker').selectpicker();
        $('.selectpicker').on('change',function(){
          // $(this).parent().next('input').val($(this).val().join('|'))
            $(this).parent().next('input').val($(this).val().join(','))
        });
    }

    // 生成百度编辑器
    $(".ueditor").each(function(){
        var ue = UE.getEditor($(this).attr('id'),{
            initialFrameWidth :'100%',
            'initialFrameHeight':320
        });
    });

   
    // 日期选择器
    jQuery("[data-provide = 'datepicker_month']").each(function() {
        var options = {
            language: 'zh-CN',  // 默认简体中文
            multidateSeparator: ', ' // 默认多个日期用,分隔
        }
  
        options = $.extend( options, getDataOptions( $(this) ));
  
        if ( $(this).prop("tagName") != 'INPUT' ) {
            options.inputs = [$(this).find('input:first'), $(this).find('input:last')];
        }

        options.startView = 1;
        options.minViewMode = 1;
        options.maxViewMode = 2;
        
        $(this).datepicker(options);
    });

    // 日期选择器
    jQuery("[data-provide = 'datepicker_years']").each(function() {
        var options = {
            language: 'zh-CN',  // 默认简体中文
            multidateSeparator: ', ' // 默认多个日期用,分隔
        }
  
        options = $.extend( options, getDataOptions( $(this) ));
  
        if ( $(this).prop("tagName") != 'INPUT' ) {
            options.inputs = [$(this).find('input:first'), $(this).find('input:last')];
        }

        options.startView = 2;
        options.minViewMode = 2;
        options.maxViewMode = 2;
        
        $(this).datepicker(options);
    });

    
    // 搜索按钮
    $('.search_btn').on('click',function(){
        // var l = $('body').lyearloading({
        //     opacity: 0.5,
        //     spinnerSize: 'lg',
        //     spinnerText: '加载中',
        //     textColorClass: 'text-info',
        //     spinnerColorClass: 'text-info'
        // });
        // $(this).parents().prev('form').submit();
        $(".search-form").submit();
    });

    // 图片上传(单张图片，多张图片)
    $('.js-upload-image,.js-upload-images').each(function() {
        var $input_file      = $(this).find('input'),
            $input_file_name = $input_file.attr('name'),
            $multiple        = $input_file.data('multiple'),  // 是否选择多个文件
            $ext             = $input_file.data('ext'),       // 支持的文件后缀，示例以图片为例
            $size            = $input_file.data('size');      // 支持最大的文件大小

        var server_url = $($input_file).attr('data-url');
        if (server_url == null || server_url == '') {
            server_url = '/index.php/admin/base/upload';
        }

        var $file_list = $('#file_list_' + $input_file_name);
        var ratio = window.devicePixelRatio || 1;
        var thumbnailWidth = 125 * ratio;
        var thumbnailHeight = 110 * ratio;
        var uploader = WebUploader.create({
            auto: true,
            duplicate: true,
            resize: false,
            swf: static_path + '/admin/js/webuploader/Uploader.swf',
            server: server_url,
            pick: {
                id: '#picker_' + $input_file_name,
                multiple: $multiple
            },
            // fileSingleSizeLimit: $size,
            accept: {
                // title: 'Images',
                extensions: $ext,
                // mimeTypes: 'image/*'
            }
        });
        
        uploader.on('fileQueued', function(file) {
            
            var $li = $('<li class="col-6 col-sm-3 col-md-4 list-images-item" id="' + file.id + '">' +
                        '  <figure>' +
                        '    <img>' +
                        '    <figcaption>' +
                        '      <a class="btn btn-round btn-primary btn-link-pic" href="#!"><i class="mdi mdi-eye"></i></a>' +
                        '      <a class="btn btn-round btn-danger btn-remove-pic" href="#!"><i class="mdi mdi-delete"></i></a>' +
                        '    </figcaption>' +
                        '  </figure>' +
                        '</li>'),
                $img = $li.find('img');
            
            if ($multiple) {
                $file_list.append($li);
            } else {
                $file_list.html($li);
                $input_file.val('');
            }
            uploader.makeThumb(file, function(error, src) {
                if (error) {
                    if (['pdf','doc','docx','xls','xlsx','txt'].indexOf(file.ext) > -1) {
                        $img.attr('src', static_path+'/common/common_file.jpg');
                    }else{
                        $img.replaceWith('<span>不能预览</span>');
                    }
                    return;
                }

                $img.attr('src', src);
            }, thumbnailWidth, thumbnailHeight);
            $('<div class="progress progress-sm"><div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div></div>').appendTo($li);
        });
        uploader.on('uploadProgress', function(file, percentage) {
            var $percent = $('#' + file.id).find('.progress-bar');
            $percent.css('width', percentage * 100 + '%');
        });
        uploader.on('uploadSuccess', function(file, response) {
            var $li = $('#' + file.id);
            if (response.code == '2000') {
                if ($multiple) {
                    if ($input_file.val()) {
                        $input_file.val($input_file.val() + ',' + response.savename);
                    } else {
                        $input_file.val(response.savename);
                    }
                    $li.find('.btn-remove-pic').attr('data-id', response.savename);
                } else {
                    $input_file.val(response.savename);
                }
            }
            $('<div class="' + response.class + ' success"></div>').text(response.msg).appendTo($li);
            $li.find('a.btn-link-pic').attr('href', response.savename);
        });
        uploader.on('uploadError', function(file) {
            var $li = $('#' + file.id);
            $('<div class="bg-danger error">上传失败</div>').appendTo($li);
        });
        uploader.on('error', function(type) {
            switch (type) {
            case 'Q_TYPE_DENIED':
                //alert('图片类型不正确，只允许上传后缀名为：' + $ext + '，请重新上传！');
                showNotify('文件类型不正确，只允许上传后缀名为：' + $ext + '，请重新上传！', 'danger', 1500);
                break;
            case 'F_EXCEED_SIZE':
                //alert('图片不得超过' + ($size / 1024) + 'kb，请重新上传！');
                showNotify('文件不得超过' + ($size / 1024) + 'kb，请重新上传！', 'danger', 1500);
                break;
            }
        });
        uploader.on('uploadComplete', function(file) {
            setTimeout(function() {
                $('#' + file.id).find('.progress').remove();
            }, 500);
        });
        // 删除操作
        $file_list.delegate('.btn-remove-pic', 'click', function() {
            if (confirm("你确认要删除该图片吗?")) { // 可改为对话框插件
                if ($multiple) {
                    var id = $(this).data('id'),
                    ids = $input_file.val().split(',');
                    if (id) {
                        for (var i = 0; i < ids.length; i++) {
                            if (ids[i] == id) {
                                ids.splice(i, 1);
                                break;
                            }
                        }
                        $input_file.val(ids.join(','));
                    }
                } else {
                    $input_file.val('');
                }
                $(this).closest('.list-images-item').remove();
            }
        });
        // 接入图片查看插件
        $(this).magnificPopup({
            delegate: 'a.btn-link-pic',
            type: 'image',
            gallery: {
                enabled: true
            }
        });
    });
  
    // 图片展示
    jQuery('.js-gallery').each(function() {
      jQuery(this).magnificPopup({
        delegate: 'a.img-link',
        type: 'image',
        gallery: {
          enabled: true
        }
      });
    });
});


function arrayColumn(array, columnName) { 
    if (array == null) {
        return [];
    }else{
        return array.map(function(value,index) { 
            return value[columnName];
        })     
    }
    
} 

function arraySum(array){
    var total = 0;
    for(var i in array) {
        if (array[i] != null && array[i] != '') {
            total += parseFloat(array[i]);
        }
    }
    return total;
}

function getFamtterDate(time) { //传入时间
    if (time == null) { time = new Date().getTime(); }
    let date = new Date(time),
        Y = date.getFullYear(), // 年  
        M = date.getMonth() + 1, //月  
        D = date.getDate(); //日
    return Y + '-' + getZero(M) + '-' + getZero(D);

}

function getFamtterHours(time) { //传入时间
    if (time == null) { time = new Date().getTime(); }
    let date = new Date(time),
        h = date.getHours(), //小时
        m = date.getMinutes(), //分钟
        s = date.getSeconds(); //秒数
    return getZero(h) + ':' +
        getZero(m) + ':' + getZero(s);

}

function getFamtterTimer(time) { //传入时间
    if (time == null) { time = new Date().getTime(); }
    let date = new Date(time),
        Y = date.getFullYear(), // 年  
        M = date.getMonth() + 1, //月  
        D = date.getDate(), //日
        h = date.getHours(), //小时
        m = date.getMinutes(), //分钟
        s = date.getSeconds(); //秒数
    return Y + '-' + getZero(M) + '-' + getZero(D) + ' ' + getZero(h) + ':' +
        getZero(m) + ':' + getZero(s);

}

// 个位数前补0
function getZero(num) { 
    if (parseInt(num) < 10) {
        num = '0' + num;
    }
    return num;
}

function jsFloatDef(obj,default_val=0){
    if (obj == null || obj == '') {
        obj = default_val;
    }else{
        obj = parseFloat(obj);
    }
    return obj;
}

function jsEmptyDef(obj,default_val=''){
    if (obj == null || obj == '') {
        obj = default_val;
    }
    return obj;
}


$(function(){
    $(".cchnum").on('blur',function(){
        showQfw();
    });

    $(".cchnum").on('focus',function(){
        $(this).val(clearQfw($(this).val()));
    });
})

function clearQfw(a1){
    if (a1 == '' || a1 == null) {
        return '';
    }
    var a2 = a1.split(",");
    var a3= parseFloat(a2.join(""));//注意拼接字符串
    return a3;
}

function showQfw(){
    $(".cchnum").each(function(){

      var a1= $(this).val();
      if (a1 == '' || a1 == null) {
            return '';
        }
      a1= clearQfw(a1);
      var a2= a1.toFixed(2)+"";//保留两位小数
      var a3= a2.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,'$1,');//正则替换
      $(this).val(a3);
    });
}
function hideQfw(){
    $(".cchnum").each(function(){
      $(this).val(clearQfw($(this).val()));
    });
}


function encodeForHTML(str) {  
    // 使用正则表达式替换HTML特殊字符  
    // 注意：这里我们假设你希望单引号(')也被转义，尽管在HTML中它通常不是必需的  
    // 但如果你在处理的是HTML属性（特别是JavaScript事件处理器），转义单引号是一个好习惯  
    return str  
        .replace(/&/g, '&amp;')    // 替换 &  
        .replace(/</g, '&lt;')     // 替换 <  
        .replace(/>/g, '&gt;')     // 替换 >  
        .replace(/"/g, '&quot;')   // 替换 "  
        .replace(/'/g, '&#039;');  // 替换 '  
} 

function isMobileUagent(){
    var sUserAgent = navigator.userAgent.toLowerCase();
    var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
    var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
    var bIsMidp = sUserAgent.match(/midp/i) == "midp";
    var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
    var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
    var bIsAndroid = sUserAgent.match(/android/i) == "android";
    var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
    var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
    if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
            return true;
     } else {
            return false;
      }
}